DeviceSDK Documentation

Build IoT applications with TypeScript. From prototype to production in minutes.

DeviceSDK is a free, open-source (AGPL-3.0), self-hosted IoT platform. You run the server yourself (Docker on a Raspberry Pi, NUC, NAS, or any host), write TypeScript device scripts, and connect microcontrollers over WebSocket.

New here?

Start with the Quickstart to go from zero to a deployed device in under 15 minutes, then follow Your First Device to understand how entrypoints work.

Browse documentation

M13 10V3L4 14h7v7l9-11h-7z

Quickstart

Get from zero to your first deployment in under 15 minutes

M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z

Your First Device

Learn how to build your first device entrypoint with DeviceSDK

M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z

CLI Reference

Complete command-line interface reference for DeviceSDK

M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10

Concepts

Understand how DeviceSDK works

M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7

Guides

Step-by-step guides for common DeviceSDK tasks and integrations

M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z

Cookbook

Task-shaped recipes - one URL per how-to, complete runnable code

M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z

Hardware Compatibility

Supported microcontrollers and hardware platforms

M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z

MCP server (@devicesdk/mcp)

Drive DeviceSDK from OpenCode, Claude, Cursor, Continue, Windsurf and other MCP-aware coding agents

M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z

Error reference

Stable error codes returned by the DeviceSDK API and CLI

M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z

Changelog

Latest releases and updates for DeviceSDK

M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z

Resources

Reference materials, troubleshooting, and support for DeviceSDK